#include "cexportar.h"

CExportar::CExportar(QObject *parent) :
    QObject(parent)
{
    this->ConfigurarPathPadrao();
}

bool CExportar::Exportar()
{
    QString divs = this->HtmlVagasSelecionadas();
    if (divs.length() > 0) {
        QString html =
                "<html>"
                "<head>"
                "<title>Vagas by OneClickJob</title>"
                "</head>"
                "<style>"
                "div { display: block }"
                "</style>"
                "<body>"
                "%1"
                "</body>"
                "</html>";
        QFile f(this->NomeArquivoExportacao());
        f.open(QFile::WriteOnly);
        QByteArray arr;
        arr.append(html.arg(divs));
        f.write(arr);
        f.close();
        return true;
    }
    return false;
}

QString CExportar::HtmlVagasSelecionadas()
{
    QString ret("");
    QString htmlItem =
            "<div><h2>%1</h2></div>"
            "<div><h2>%2</h2></div>"
            "<div><h3>%3 - %4 - publicada em %5</div></div>"
            "<div>%6</div>"
            "<div><b><a href=\"mailto:%7?subject=%8\">Clique aqui</a> para acessar esta oportunidade!</b></div>"
            "<div><hr /></div>";
    foreach(CVagasItem *v, _vagasModel->getVagas()) {
        if (v->getMarcado())
            ret.append(htmlItem.arg(v->getCargo(),
                                    v->getEmpresa(),
                                    v->getEstado(),
                                    v->getCidade(),
                                    v->getData().toString("dd/MM/yyyy"),
                                    v->getDescricao(),
                                    v->getContato(),
                                    v->getSubjectEmail()));
    }
    return ret;
}

void CExportar::ConfigurarPathPadrao()
{
    QDir dir = QDir::current();
    QString drive = dir.path().left(3);
    QString dirExportacao("%1OneClickJob");
    dirExportacao = dirExportacao.arg(drive);

    if (!dir.exists(dirExportacao))
        dir.mkdir(dirExportacao);

    dir.cd(dirExportacao);    
    _pathPadrao = dir.path();
}

QString CExportar::NomeArquivoExportacao()
{
    QString nomeArquivo("%1/OneClickJob_Exportacao_%2.html");
    nomeArquivo = nomeArquivo.arg(_pathPadrao, QDateTime::currentDateTime().toString("dd-MM-yyyy-HH_mm"));
    return nomeArquivo;
}
